﻿using System;
using System.Windows;

namespace WPF_Civilisation
{
    /// <summary>
    /// Logique d'interaction pour Window_Lancement.xaml
    /// </summary>
    public partial class Window_Lancement : Window
    {
        //
        public Window_Lancement()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Méthode appelée lorsque l'utilisateur clique sur "Démarrer une partie"
        /// </summary>
        /// <param name="sender">Bouton appuyé</param>
        /// <param name="e">Evènement</param>
        private void start_game(object sender, RoutedEventArgs e)
        {
            //Création et affichage de la fenêtre de configuration d'une partie
            Window w = new Window_Configuration();
            w.Show();

            //Fermeture de la fenêtre de lancement
            this.Close();
        }

        /// <summary>
        /// Méthode appelée lorsque l'utilisateur clique sur "Charger une partie"
        /// </summary>
        /// <param name="sender">Bouton appuyé</param>
        /// <param name="e">Evènement</param>
        private void import_game(object sender, RoutedEventArgs e){
        
            // Création d'une fenêtre d'ouverture de fichier
            Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();

            //Extension du fichier à charger
            dlg.DefaultExt = ".civ";
            dlg.Filter = "Sauvegarde |*.civ";

            // Affiche la boîte de dialogue
            Nullable<bool> result = dlg.ShowDialog();

            if (result == true)
            {
                //Récupère le chemin du fichier
                string filename = dlg.FileName;

                //Création et affichage de la fenêtre d'une partie
                Window w = new Window_Carte(filename);
                w.Show();

                //Fermeture de la fenêtre de lancement
                this.Close();
            }
        }

        /// <summary>
        /// Méthode appelée lorsque l'utilisateur clique sur "Quitter"
        /// </summary>
        /// <param name="sender">Bouton appuyé</param>
        /// <param name="e">Evènement</param>
        private void quitter(object sender, RoutedEventArgs e)
        {
            this.Close();
        }
        /// <summary>
        /// Méthode appelée lorsque l'utilisateur clique sur "Documentation"
        /// </summary>
        /// <param name="sender">Bouton appuyée</param>
        /// <param name="e">Evènement</param>
        private void open_doc(object sender, RoutedEventArgs e)
        {
            try
            {
                System.IO.File.WriteAllBytes("documentation_utilisateur.pdf", Civilisation.Properties.Resources.documentation_utilisateur);
                System.Diagnostics.Process.Start("documentation_utilisateur.pdf");
            }
            catch
            {
                string messageBoxText = "Impossible de charger la documentation. Veuillez vérifier que vous avez bien installé un lecteur de PDF.";
                string caption = "Problème lors du chargement";
                MessageBoxButton button = MessageBoxButton.OK;
                MessageBoxImage icon = MessageBoxImage.Error;
                System.Windows.MessageBox.Show(messageBoxText, caption, button, icon);
            }
        }
    }
}
